Style-based Reenement for Software Architecture

نویسنده

  • David Garlan
چکیده

A question that frequently arises for architectural design is \When can I implement a design in style S1 using a design in style S2?" In this paper I propose a technique for structur-ing a solution to this kind of problem using the idea of sub-styles. This technique leads to a two-step process in which rst, useful subsets of a family of architectures are identi-ed, and second, reenement rules speciic to these subsets are established. I will argue that this technique, in combination with an unconventional interpretation of reenement, clariies how engineers actually carry out architectural re-nement and provides a formal framework for establishing the correctness of those methods. 1 The importance of style-based reenement A key issue for architectural design is to understand when a system characterized in one style can be substituted for one described in another. That is, when can I use an instance of style S1 in place of a system already described in style S2? This problem arises in a number of contexts: Representing the internal structure of an architectural component (or connector): Often the elements of an architectural description are implemented internally by another, more detailed architecture. In some cases the boundary of one element serves to aggregate and encapsulate certain parts of a complex description (i.e., S1 = S2). In this case, simple name mappings between the internal representation and the external may suuce. But more generally, the internal representation may involve a change in architectural style. For example, I might have a component of a pipe-lter architecture that is internally constructed using componentry based on procedure-call. Recasting an architectural description in a new style: Often a system that is most naturally represented in one style must be implemented using the facilities that are best described in another style. In this case, a complete architectural description (not just individual elements) must be represented in a new way. For example, I might represent an event-based design in an object-oriented one, in order to pave the way for more direct implementation using an object-oriented language. Applying tools developed for one style to a system written in another one: Architectural analysis tools are often written for systems that t within a given style. For example, a timing analyzer may apply only to pipe-lter systems, while a transaction throughput analyzer might apply only to a certain class of repository-oriented systems. However, sometimes we have a system that is …

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Hypertext-Based Parallel Programming Environment

We will describe initial investigation into a software architecture which supports a reenement-based parallel programming methodology. The architecture is based on blending a component-based visual programming approach with the hyptertext model to give a seamless programming environment for parallel program development targeting various platforms, where hypertext links capture reenement steps a...

متن کامل

A Quantitative Evaluation of Maintainability of Software Architecture Styles

Proper decisions play a crucial role in any software architecture design process. An important decision of design stage is the selection of a suitable software architecture style. Lack of investigation on the quantitative impact of architecture styles on software quality attributes is the main problem in using such styles. Consequently, the use of architecture styles in designing is based on th...

متن کامل

Availability evaluation of Software architecture of object oriented Style using coloured Petri nets

Software architecture is one of the most fundamental products in the process of software development in the areas of behavioral or non- behavioral features like availability or transformability change. There are different ways to evaluate software architecture one of which is the creation of application model. An executable model of software architecture is an official description of architectu...

متن کامل

A New Algorithm for Performance Evaluation of Homogeneous Architectural Styles

Software architecture is considered one of the most important indices of software engineering today. Software Architecture is a technical description of a system indicating its component structures and their relationships, and is the principles and rules governing designing. The success of the software depends on whether the system can satisfy the quality attributes. One of the most critical as...

متن کامل

A New Algorithm for Performance Evaluation of Homogeneous Architectural Styles

Software architecture is considered one of the most important indices of software engineering today. Software Architecture is a technical description of a system indicating its component structures and their relationships, and is the principles and rules governing designing. The success of the software depends on whether the system can satisfy the quality attributes. One of the most critical as...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996